10 CLS:COLOR 10:PRINT"GEM10X PC PRINTER CONTROL":PRINT"VERSION 1.0 8/3/86 John Mustain":COLOR 3,3:PRINT:PRINT:PRINT
20 PRINT "AVAILABLE SELECTIONS:":PRINT
30 PRINT" A 10 CPI L UNIDIRECTIONAL PRINT ON
40 PRINT" B 12 CPI M UNIDIRECTIONAL PRINT OFF
50 PRINT" C 17 CPI N 1/8 in. LINE FEED
60 PRINT" D DOUBLE STRIKE ON O 7/72 in. LINE FEED
70 PRINT" E DOUBLE STRIKE OFF P 1/6 in. LINE FEED
80 PRINT" F EMPHASISED PRINT ON Q #/144 in. LINE FEED (YOU SELECT)
90 PRINT" G EMPAHSISED PRINT OFF R SET LEFT MARGIN (YOU SELECT)
100 PRINT" H WIDE PRINT ON S LINE FEED
110 PRINT" I WIDE PRINT OFF T FORM FEED
120 PRINT" J UNDERSCORE ON U SAMPLE TEXT
130 PRINT" K UNDERSCORE OFF V RESET PRINTER
140 PRINT:PRINT"ENTER X TO QUIT
160 INPUT A$
161 PRINT CHR$(30)" "
165 IF A$="X" OR A$ ="x" THEN END
166 IF A$="U"OR A$="u" THEN LPRINT "SAMPLE TEXT abcdefghijklmnopABCDEFGHIJKLMNOP1234567890":PRINT CHR$(30);:GOTO 160
170 IF A$="A" OR A$ ="a" THEN LPRINT CHR$(27);"P";:PRINT"10 CPI PRINT ON":FOR A =1 TO 500:NEXT:PRINT CHR$(30)" ":PRINT CHR$(30);:PRINT CHR$(30);:GOTO 160
180 IF A$="B" OR A$ ="b" THEN LPRINT CHR$(27);"M";:PRINT"12 CPI PRINT ON":FOR A =1 TO 500:NEXT:PRINT CHR$(30)" ":PRINT CHR$(30);:PRINT CHR$(30);:GOTO 160
190 IF A$="C" OR A$ ="c" THEN LPRINT CHR$(15);:PRINT"17 CPI PRINT ON":FOR A =1 TO 500:NEXT:PRINT CHR$(30)" ":PRINT CHR$(30);:PRINT CHR$(30);:GOTO 160
200 IF A$="D" OR A$ ="d" THEN LPRINT CHR$(27);"G";:PRINT"DOUBLE STRIKE ON":FOR A =1 TO 500:NEXT:PRINT CHR$(30)" ":PRINT CHR$(30);:PRINT CHR$(30);:GOTO 160
210 IF A$="E" OR A$ ="e" THEN LPRINT CHR$(27);"H";:PRINT"DOUBLE STRIKE OFF":FOR A =1 TO 500:NEXT:PRINT CHR$(30)" ":PRINT CHR$(30);:PRINT CHR$(30);:GOTO 160
220 IF A$="F" OR A$ ="f" THEN LPRINT CHR$(27);"E";:PRINT"EMPHASIZED ON":FOR A =1 TO 500:NEXT:PRINT CHR$(30)" ":PRINT CHR$(30);:PRINT CHR$(30);:GOTO 160
230 IF A$="G" OR A$ ="g" THEN LPRINT CHR$(27);"F";:PRINT"EMPAHSIZED OFF":FOR A =1 TO 500:NEXT:PRINT CHR$(30)" ":PRINT CHR$(30);:PRINT CHR$(30);:GOTO 160
240 IF A$="H" OR A$ ="h" THEN LPRINT CHR$(27);"W";CHR$(1);:PRINT"DOUBLE SIZE ON":FOR A =1 TO 500:NEXT:PRINT CHR$(30)" ":PRINT CHR$(30);:PRINT CHR$(30);:GOTO 160
250 IF A$="I" OR A$ ="i" THEN LPRINT CHR$(27);"W";CHR$(0);:PRINT"DOUBLE SIZE OFF":FOR A =1 TO 500:NEXT:PRINT CHR$(30)" ":PRINT CHR$(30);:PRINT CHR$(30);:GOTO 160
260 IF A$="J" OR A$ ="j" THEN LPRINT CHR$(27);"-";CHR$(1);:PRINT"UNDERSCORE ON":FOR A =1 TO 500:NEXT:PRINT CHR$(30)" ":PRINT CHR$(30);:PRINT CHR$(30);:GOTO 160
270 IF A$="K" OR A$ ="k" THEN LPRINT CHR$(27);"-";CHR$(0);:PRINT"UNDERSCORE OFF":FOR A =1 TO 500:NEXT:PRINT CHR$(30)" ":PRINT CHR$(30);:PRINT CHR$(30);:GOTO 160
280 IF A$="L" OR A$ ="l" THEN LPRINT CHR$(27);"U";CHR$(1);:PRINT"UNIDIRECT PRINT":FOR A =1 TO 500:NEXT:PRINT CHR$(30)" ":PRINT CHR$(30);:PRINT CHR$(30);:GOTO 160
290 IF A$="M" OR A$ ="m" THEN LPRINT CHR$(27);"U";CHR$(0);:PRINT"UNIDIRECT PRINT OFF":FOR A =1 TO 500:NEXT:PRINT CHR$(30)" ":PRINT CHR$(30);:PRINT CHR$(30);:GOTO 160
300 IF A$="N" OR A$ ="n" THEN LPRINT CHR$(27);"0";:PRINT"1/8 in. LINE FEED":FOR A =1 TO 500:NEXT:PRINT CHR$(30)" ":PRINT CHR$(30);:PRINT CHR$(30);:GOTO 160
310 IF A$="O" OR A$ ="o" THEN LPRINT CHR$(27);"1";:PRINT"7/72 in. LINE FEED":FOR A =1 TO 500:NEXT:PRINT CHR$(30)" ":PRINT CHR$(30);:PRINT CHR$(30);:GOTO 160
320 IF A$="P" OR A$ ="p" THEN LPRINT CHR$(27);"2";:PRINT"1/6 in. LINE FEED":FOR A =1 TO 500:NEXT:PRINT CHR$(30)" ":PRINT CHR$(30);:PRINT CHR$(30);:GOTO 160
330 IF A$="Q" OR A$="q" THEN INPUT "#/144 in. LF? ",B:PRINT CHR$(30)" ":LPRINT CHR$(27);"3";CHR$(B);:PRINT B"/144 in. LF SET":FOR A=1 TO 500:NEXT:PRINT CHR$(30)" ":PRINT CHR$(30);:PRINT CHR$(30);
331 IF A$ = "Q" OR A$ = "q" THEN PRINT CHR$(30);:GOTO 160
340 IF A$="R" OR A$="r" THEN INPUT "LEFT MARGIN ",B:PRINT CHR$(30)" ":LPRINT CHR$(27);"l";CHR$(B);:PRINT"MARGIN SET TO";B:FOR A=1 TO 500:NEXT:PRINT CHR$(30)" ":FOR A=1 TO 3:PRINT CHR$(30);:NEXT:GOTO 160
350 IF A$="S" OR A$ ="s" THEN LPRINT CHR$(10);:PRINT"LINE FEED SENT":FOR A =1 TO 500:NEXT:PRINT CHR$(30)" ":PRINT CHR$(30);:PRINT CHR$(30);:GOTO 160
360 IF A$="T" OR A$ ="t" THEN LPRINT CHR$(12);:PRINT"FORM FEED SENT":FOR A =1 TO 500:NEXT:PRINT CHR$(30)" ":PRINT CHR$(30);:PRINT CHR$(30);:GOTO 160
370 IF A$="V" OR A$ ="v" THEN LPRINT CHR$(27);"@";:PRINT"PRINTER RESET":FOR A =1 TO 500:NEXT:PRINT CHR$(30)" ":PRINT CHR$(30);:PRINT CHR$(30);:GOTO 160